#ifndef _TEST_VIRTUALFILESYSTEM_H_
#define _TEST_VIRTUALFILESYSTEM_H_
#include <gtest/gtest.h>
#include <boost/filesystem.hpp>
#include "core/core_utils.h"
#include "vfs/vfs.h"

using boost::filesystem::path;

class VirtualFileSystem_TestFixture: public ::testing::Test
{
public:
	z3d::utils::CVirtualFileSystem* m_vfs;
	virtual void SetUp(){
		m_vfs = new z3d::utils::CVirtualFileSystem();
		m_vfs->init();
	}
	virtual void TearDown(){
		m_vfs->reset();
		if(m_vfs)
			delete m_vfs;
	}
};

TEST_F(VirtualFileSystem_TestFixture, get_and_set_works_with_the_same_string)
{
	std::string s("./test_base/resources");
	m_vfs->setSystemResourcesBasePath(s.c_str());
	path p = boost::filesystem::system_complete(s);
	EXPECT_TRUE(p.c_str() == m_vfs->getSystemResourcesBasePath() );
}

#endif //_TEST_VIRTUALFILESYSTEM_H_